Next: Macro Forms, Previous: Function Indirection, Up: Forms [Contents][Index]
If the first element of a list being evaluated is a Lisp
function object, byte-code object or primitive function object,
then that list is a function call. For example, here is
a call to the function +:
(+ 1 x)
The first step in evaluating a function call is to evaluate
the remaining elements of the list from left to right. The
results are the actual argument values, one value for each list
element. The next step is to call the function with this list of
arguments, effectively using the function apply (see
Calling
Functions). If the function is written in Lisp, the arguments
are used to bind the argument variables of the function (see
Lambda
Expressions); then the forms in the function body are
evaluated in order, and the value of the last body form becomes
the value of the function call.